import multer from 'multer';
import path from 'path';
import { config } from '../config';

// 配置存储选项
const storage = multer.diskStorage({
  destination: function (_req, _file, cb) {
    cb(null, config.FILE_UPLOAD_PATH); // 相对于当前文件的位置指定路径
  },
  filename: function (_req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname)); // 自定义文件名
  },
});

// 文件过滤函数
// function fileFilter(file: Express.Multer.File, cb: FileFilterCallback) {
//   // 允许的扩展名
//   const filetypes = /jpeg|jpg|png|mp4|mp3/;
//   // 检查mime类型
//   const mimetype = filetypes.test(file.mimetype);
//
//   // 如果不符合条件，则返回错误信息
//   if (!mimetype) {
//     return cb(new Error("仅限上传 .jpg, .png, .mp4, .mp3 格式的文件"));
//   }
//   // 否则继续执行
//   cb(null, true);
// }

// 创建并导出multer实例
const upload = multer({
  storage: storage,
});

export default upload;
